package consts

import "github.com/gogf/gf/v2/os/gctx"

const VersionApp = "1.0.0"

const IsSuper = 1

const (
	CacheHashUserPermissionReadTime = "userPermissionReadTime"     //hash表记录用户缓存权限数据的时间
	CacheAuthTimeFormat             = "2006-01-02 15:04:05.000000" //CacheHashUserPermissionReadTime中缓存时间的格式
	CacheHashUserPermissionData     = "userPermissionData"         //hash表记录所有用户的权限缓存数据，field = adminId
	CacheHashSystemConfigData       = "systemConfigData"           //系统配置
)

const (
	JwtAudienceAdminWs = "adminWebsocket" // 后台的token使用方
	JwtAudienceApp     = "app"            // 前端的token使用方
)

const (
	PermissionTypeMenu   = 1 // 菜单栏权限
	PermissionTypeAction = 2 //操作按钮权限
)

// 定时任务相关
const (
	CrontabPolicyNormal    = 1 // 定时任务策略类型：普通的定时任务
	CrontabPolicySingleton = 2 // 定时任务策略类型：单例定时任务
	CrontabPolicyOnce      = 3 // 定时任务策略类型：单次定时任务
	CrontabPolicyMulti     = 4 // 定时任务策略类型：指定次数的定时任务

	CrontabStatusEnabled  = 1 //定时任务状态：启用
	CrontabStatusDisabled = 2 //定时任务状态：禁用
)

// 上下文key定义
const (
	CtxCrontabSnKey   gctx.StrKey = "crontabSn"   //定时任务上下文Sn
	CtxCrontabArgsKey gctx.StrKey = "crontabArgs" //定时任务上下文参数
	CtxCrontabBatchSn gctx.StrKey = "batchSn"     //定时任务上下文批次号
	CtxLessonUserID   gctx.StrKey = "JwtUserID"   //课程教学模块登录用户ID
)

// 文件存储类型：1-本地；2-阿里云；3-腾讯云
const (
	FileUploadStorageTypeLocal      = 1
	FileUploadStorageTypeAliYunOss  = 2
	FileUploadStorageTypeTenCentCos = 3
)
